//* 绑定 打开系统提示词面板按钮点击事件
openSystemPromptPanelButton.addEventListener("click",
	() => {
		// 显示系统提示词面板
		systemPromptPanel.className = 'system-message config show';
		// 拖动配置面板
		dragElement(systemPromptPanel);
	}
);
//* 绑定 显示保存配置面板 按钮点击事件
saveConfigButton.addEventListener("click",
	() => {
		/**
		 * 获取当前配置
		 */
		const config = getCurrentConfig();
		// 配置JSON
		configJson.value = JSON.stringify(config, null, 2);
		configName.value = "";
		saveConfig.className = 'system-message config show';
		configName.focus();
		// 拖动配置面板
		dragElement(saveConfig);
	}
);
//* 绑定 显示导入配置面板 按钮点击事件
importConfigButton.addEventListener("click",
	() => {
		importConfig.className = 'system-message config show';
		importConfigJson.value = "";
		importConfigJson.focus();
		// 拖动配置面板
		dragElement(importConfig);
	}
);
//* 绑定 确认保存保存 按钮点击事件
confirmSaveButton.addEventListener("click",
	() => {
		/** 获取配置名称输入框的值并去除首尾空格 */
		const configNameValue = configName.value.trim();
		// 检查配置名称是否为空
		if (configNameValue) {
			// 若配置名称不为空，添加并保存配置
			addAndSaveConfig(configNameValue);
			// 隐藏保存配置面板
			saveConfig.className = 'system-message config';
		}
		else {
			// 若配置名称为空，显示错误提示信息
			showSystemMessage("请输入配置名称", "error");
			// 将焦点设置到配置名称输入框
			configName.focus();
		}
	}
);
//* 绑定 确认导入配置 按钮点击事件
confirmImportButton.addEventListener("click",
	() => {
		try {
			const config = JSON.parse(importConfigJson.value);
			applyConfigToUI(config);
			importConfig.className = 'system-message config';
			showSystemMessage("配置导入成功！", "success");
		}
		catch (error) {
			// 捕获异常并显示错误信息
			showSystemMessage(`${error.name} | ${error.message} | ${error.stack}`, "error");
		}
	}
);
//* 绑定 Live2D 动作触发按钮事件
triggerLive2DStateButton.addEventListener("click",
	function () {
		/**
		 * 获取 Live2D 状态选择框中当前选中的值
		 */
		const selectedState = live2dStateDropdown.value;
		// 调用函数设置 Live2D 的情感状态
		setEmotionState(selectedState);
		// 显示系统状态面板，提示已成功触发指定状态
		showSystemMessage(`已触发状态: ${selectedState}`, "success");
	}
);